home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C++ / Applications / Nuntius 1.2 / src / Nuntius / UArticleStatus.h < prev    next >
Encoding:
Text File  |  1994-02-20  |  1.2 KB  |  46 lines  |  [TEXT/MPS ]

  1. // Copyright © 1992 Peter Speck, speck@dat.ruc.dk. All rights reserved.
  2. // UArticleStatus.h
  3.  
  4. #define __UARTICLESTATUS__
  5.  
  6. // value of longs stored in this list:
  7. enum ArticleStatus {kArticleNew = 0, kArticleSeen, kArticleRead};
  8.  
  9. // value of long in preferences
  10. enum ArticleShowType {kShowAllArticles, kShowUnreadArticles, kShowNewArticles, kShowFirstArticleOnly, kShowNoArticles};
  11.  
  12. enum DiscussionShowType {kShowAllDiscs, kShowTodaysDiscs, 
  13.         kShowDiscsWithUnreadArticles, kShowDiscsWithNewArticles};
  14.  
  15. class TArticleStatus : public TLongintList
  16. {
  17.     public:
  18.         ArticleStatus GetStatus(long id);
  19.         void SetStatus(long id, ArticleStatus status);
  20.         void SetMinStatus(long id, ArticleStatus status);
  21.         
  22.         void SetNewRange(long newFirstID, long newLastID);
  23.  
  24.         void DoRead(TStream *aStream);
  25.         void DoIronAgeFormatRead(TStream *aStream);
  26.         void DoWrite(TStream *aStream);
  27.         void DoNeedDiskSpace(long &dataForkBytes);
  28.  
  29.         void DebugDump();
  30.         Boolean SanityCheck();
  31.         
  32.         void SpecifyWithArticleStatus(TArticleStatus *articleStatus);
  33.  
  34.         TArticleStatus();
  35.         pascal void Initialize();
  36.         void IArticleStatus(TDocument *doc);
  37.         pascal void Free();
  38.     private:
  39.         friend TArticleStatus::SpecifyWithArray;
  40.         long fFirstID;
  41.         Boolean fChanged;
  42.         TDocument *fDoc;
  43.         
  44.         void IsChanged();
  45. };
  46.